// components/My/My.js
import { getFind, addInsertOne } from '../../utils/mpserver'
const { getOpenId } = getApp()
import { formatTime } from '../../utils/util'

Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    avatarUrl: '', // 头像链接如果获取失败则
    name: '', // 名称
    userInfo: {
      remindVal: 0,
      winVal: 0
    }
  },
  attached() {
    this.getAvatarName()
    this.getUserInfo()
  },
  /**
   * 组件的方法列表
   */
  methods: {
    // 获取用户数据
    getUserInfo() {
      getFind('cpUser').then(res => {
        console.log(res)
        if (res.result.length == 0) {
          this.addUserInfo()
        } else {
          this.setData({
            userInfo: res.result[0]
          })
        }
      })
    },
    // 添加用户
    async addUserInfo() {
      const _openid = await getOpenId()
      addInsertOne('cpUser', {
        name: wx.getStorageSync('name') || '',
        remindVal: 0,
        winVal: 0,
        createTime: new Date().getTime(),
        createText: formatTime(new Date()),
        _openid
      }).then(res => {
        console.log(res)
      })
    },
    // 从本地存储获取头像和名称
    getAvatarName() {
      this.setData({
        avatarUrl: wx.getStorageSync('avatar') || '../../image/logo.png',
        name: wx.getStorageSync('name') || ''
      })
    },
    // 获取头像
    onChooseAvatar(e) {
      const {
        avatarUrl
      } = e.detail // 获取到头像数据
      wx.setStorage({ // 设置本地缓存
        key: 'avatar',
        data: avatarUrl,
        success: () => {
          this.setData({
            avatarUrl,
          })
        }
      })
    },
    // 用户名输入并设置本地缓存
    nameInput(e) {
      this.setTimeoutId && clearTimeout(this.setTimeoutId)
      this.setTimeoutId = setTimeout(() => {
        // console.log(e, e.detail.value, this.data.name)
        wx.setStorage({
          key: 'name',
          data: e.detail.value,
          success: () => {
            this.setData({
              name: e.detail.value
            })
          }
        })
      }, 1000)
      // console.log(e, e.detail.value, this.data.name)
    },
    // 弹出对话框
    showRemindModel() {
      wx.showModal({ // 弹出进入设置对话框
        title: '提示',
        content: '由于小程序的限制，用户每允许一次订阅消息，我们只能发一次中奖提醒消息。（点击下方可以增加提醒次数）',
        showCancel: false,
        confirmText: '确定'
      })
    },
    // 点击中奖次数
    showWinModel() {
      wx.showModal({ // 弹出进入设置对话框
        title: '提示',
        content: '中奖次数为用户添加的号码的中奖次数集合。',
        showCancel: false,
        confirmText: '确定'
      })
    },
    zanshang() { // 点击赞赏按钮
      wx.showToast({
        title: '长按图片可以给作者支持哦！',
        icon: 'none',
        duration: 1600
      })
      setTimeout(() => {
        wx.previewImage({
          urls: ['https://mp-8f6d3039-9d62-4bf6-93ad-fa2f642b2db4.cdn.bspapp.com/cloudstorage/af5b8e61-5d0e-4b05-8be4-239994b285c7.jpeg']
        })
      }, 1600)
    },
    showAbout() { // 弹出关于
      wx.showModal({
        title: '关于小程序',
        content: '这是一款提醒彩票中奖的小程序，添加您的号码，每当开奖的时候会推送是否中奖。',
        showCancel: false,
        confirmText: '好的',
      })
    },
  }
})